1.bysort, egen, binscatter
bysort
egen
binscatter
format varlist %fmt format %fmt varlist
%9.2f
2.数据类型转换:destring, tostring, encode, decode, real
destring
tostring
encode
decode
real
gen newvar1 = substr( str1 ,1,3) gen newvar2 = substr( str2 ,-2,.)
gen date1 = date( date , "YMD")
3.数据拆分与合并:横向拆分与纵向拆分,append, merge
append
merge
merge 1:1 varlist using filename keep if _merge == 3 drop _merge merge m:1 varlist using filename, nogen merge 1:m varlist using filename merge m:m varlist using filename merge 1:1 _n using filename
4.长宽数据转换:reshape
reshape
reshape wide var, i(id) j(year) reshape long var, i(id) j(year)
5.条件语句
local score = 88 if `score' >= 90{ di "优秀" } else if `score' >= 80{ di "良好" } else if `score' >= 70{ di "一般" } else if `score' >= 60{ di "合格" } else{ di "不合格" }
6.循环语句
while
set obs 1 gen sum = 0 local i = 1 local n = 100 while `i' <= `n' { qui replace sum = sum + `i' local i = `i' + 1 } list
forvalues
set obs 1 gen sum = 0 forvalues i = 1/100 { qui replace sum = sum + `i' } list
foreach in/of
foreach v of varlist d81-d87{ gen `v'educ = educ*(`v') }
chap3.1_Stata模拟重复抽样.do download chap3.2_simulate修改.do download chap3.3_同方差异方差.do download
安慰剂检验:参考BV13E421w79K
BV13E421w79K
可视化网站: Ordinary Least Squares, PGFplots.net, Stata Graph Gallery, Stata Visual Library
//C8 *(i) clear set seed 1234 set obs 500 gen x = runiform()*10 sum x *(ii) gen u = rnormal(0, 1)*6 sum u *(iii) gen y = 1 + 2 * x + u reg y x *(iv) predict uhat, r egen suh = sum(uhat) sum suh egen sxuh = sum(x*uhat) sum sxuh *(v) egen su = sum(u) sum su egen sxu = sum(x*u) sum sxu *(vi) clear set seed 10101